package com.myzl.coal.domain;

import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.myzl.common.annotation.Excel;
import com.myzl.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 设备表对象 t_device

 * @author myzl
 * @date 2022-09-05
 */
@TableName("t_device")
@Data
public class Device extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备编号 */
    private Integer id;
    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;
    /** 设备类型（1双目 2摄像头） */
    @Excel(name = "设备类型", readConverterExp = "1=双目,2=摄像头")
    private Integer deviceType;
    /** 设备组（1分组一 2分组二） */
    @Excel(name = "设备组")
    private Integer deviceGroup;
    /** 在线状态 */
    @Excel(name = "在线状态")
    private Integer deviceStatus;
    /** 设备配置 */
    @Excel(name = "设备配置")
    private String deviceConfig;
    /** 设备分组类型 */
    @TableField(exist = false)
    private Integer deviceGroupTye;
    /** 设备分组编号 */
    @TableField(exist = false)
    private String parentGroupId;
    /** 设备分组名称 */
    @TableField(exist = false)
    private String parentGroupName;
    /** 设备分组名称 */
    @TableField(exist = false)
    private String childGroupId;
    /** 设备分组名称 */
    @TableField(exist = false)
    private String childGroupName;
    /** 带速 */
    @Excel(name = "带速")
    @TableField(exist = false)
    private String speed;
    /** 密度 */
    @Excel(name = "密度")
    @TableField(exist = false)
    private String density;
    /** 连接ip */
    @Excel(name = "连接ip")
    private String ip;

    /** 连接port */
    @Excel(name = "连接port")
    private Integer port;
    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;
    /** 密码 */
    @Excel(name = "密码")
    private String password;
    /** 通道号 */
    @Excel(name = "通道号")
    private Integer channel;

    public JSONObject getDeviceConfigJSONObject(){
        JSONObject jsonObject = new JSONObject();
        if (StrUtil.isNotBlank(deviceConfig)){
            jsonObject = JSON.parseObject(deviceConfig);
        }
        return jsonObject;
    }
}
